Maven Site Plugin হল একটি শক্তিশালী প্লাগইন যা Maven প্রকল্পের জন্য custom reports এবং documentation তৈরি করতে ব্যবহৃত হয়। এটি প্রোজেক্টের বিস্তারিত তথ্য যেমন বিল্ড রিপোর্ট, কোড কভারেজ, ডিপেনডেন্সি গ্রাফ ইত্যাদি তৈরি করতে সহায়তা করে। এই প্লাগইনটি site:generate কমান্ড দিয়ে প্রোজেক্টের জন্য একটি ওয়েবসাইট বা ডকুমেন্টেশন তৈরি করতে ব্যবহৃত হয়।
এখানে আমরা Maven Site Plugin ব্যবহার করে কিভাবে কাস্টম রিপোর্ট তৈরি করা যায় এবং এটি Maven প্রকল্পের জন্য কিভাবে কনফিগার করা হয় তা আলোচনা করব।
১. Maven Site Plugin Overview
Maven Site Plugin এর মাধ্যমে আপনি HTML-based documentation এবং reports তৈরি করতে পারেন, যা আপনার প্রোজেক্টের গুণগত মান, পারফরম্যান্স, এবং অন্যান্য মেট্রিকস দেখায়। এটি মেভেন বিল্ডের মধ্যে টেমপ্লেট, রিপোর্টিং এবং ডকুমেন্টেশন প্রক্রিয়া স্বয়ংক্রিয় করে তোলে।
Site Plugin মূলত site:generate এবং site:deploy goals ব্যবহার করে কাজ করে:
- site:generate: প্রোজেক্টের রিপোর্ট এবং ডকুমেন্টেশন তৈরি করে।
- site:deploy: তৈরি করা রিপোর্ট এবং ডকুমেন্টেশন ডিপ্লয় করে নির্দিষ্ট লোকেশনে (যেমন, একটি সার্ভার বা GitHub পেজে)।
২. Maven Site Plugin কনফিগারেশন
pom.xml ফাইলে Maven Site Plugin কনফিগারেশন করার মাধ্যমে, আপনি আপনার প্রোজেক্টের জন্য কাস্টম রিপোর্ট এবং ডকুমেন্টেশন তৈরি করতে পারবেন।
২.১ Maven Site Plugin কনফিগারেশন উদাহরণ
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.9.1</version>
<configuration>
<reportPlugins>
<!-- Enable specific reports -->
<reportPlugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</reportPlugin>
<reportPlugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</reportPlugin>
</reportPlugins>
</configuration>
</plugin>
</plugins>
</build>
এই কনফিগারেশনে maven-javadoc-plugin এবং cobertura-maven-plugin কে রিপোর্টিং জন্য যুক্ত করা হয়েছে। এটি প্রোজেক্টের জন্য Javadoc এবং code coverage রিপোর্ট তৈরি করবে।
৩. Custom Reporting Configuration
Maven Site Plugin দিয়ে আপনি custom reports কনফিগার করতে পারেন যা আপনার প্রোজেক্টের নির্দিষ্ট তথ্য বা মেট্রিকস দেখাবে। এখানে Maven Javadoc Plugin এবং Cobertura Plugin এর মাধ্যমে কাস্টম রিপোর্ট তৈরির উদাহরণ দেখানো হচ্ছে।
৩.১ Javadoc Report
Javadoc আপনার কোডের ডকুমেন্টেশন তৈরি করার জন্য ব্যবহৃত হয়। আপনি Maven Site Plugin এর মাধ্যমে এটি কনফিগার করতে পারেন।
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<goals>
<goal>javadoc</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</reporting>
এখানে maven-javadoc-plugin কনফিগার করা হয়েছে, যা আপনার কোডের Javadoc ডকুমেন্টেশন তৈরি করবে।
৩.২ Code Coverage Report (Cobertura)
Cobertura প্লাগইন ব্যবহার করে আপনি কোড কভারেজ রিপোর্ট তৈরি করতে পারেন, যা কোডের কতটা অংশ টেস্ট করা হয়েছে তা দেখাবে।
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<goals>
<goal>cobertura</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</reporting>
এই কনফিগারেশনটি Cobertura প্লাগইন ব্যবহার করে কোড কভারেজ রিপোর্ট তৈরি করবে।
৪. Site Report Deploy
প্রোজেক্টের রিপোর্ট এবং ডকুমেন্টেশন তৈরি করার পর, আপনি site:deploy goal ব্যবহার করে এটি কোথাও ডিপ্লয় করতে পারেন। এটি সাধারণত GitHub Pages, Apache HTTP Server বা অন্য কোনো সার্ভারে ডিপ্লয় করা হয়।
mvn site:deploy
এটি আপনার তৈরি করা রিপোর্ট এবং ডকুমেন্টেশনকে নির্দিষ্ট লোকেশনে ডিপ্লয় করে দিবে।
৫. Maven Site Plugin Report Types
Maven Site Plugin বিভিন্ন ধরনের রিপোর্ট তৈরি করতে সাহায্য করে, যেমন:
- Javadoc Report: Java কোডের ডকুমেন্টেশন তৈরি করে।
- Test Reports: টেস্টিং সম্পর্কিত রিপোর্ট।
- Dependency Graph: প্রোজেক্টের ডিপেনডেন্সি সম্পর্কিত গ্রাফ।
- Plugin Reports: প্রোজেক্টে ব্যবহৃত প্লাগইন সম্পর্কিত রিপোর্ট।
এই রিপোর্টগুলি আপনার প্রোজেক্টের কোডের মান, পারফরম্যান্স এবং অন্যান্য গুরুত্বপূর্ণ তথ্য সম্পর্কে বিস্তারিত ধারণা প্রদান করে।
৬. Customizing the Site Plugin Reports
Maven Site Plugin এর রিপোর্ট এবং ডকুমেন্টেশন আপনি কাস্টমাইজ করতে পারেন। আপনার pom.xml ফাইলে site-plugin কনফিগারেশনে <reportPlugins> ট্যাগ ব্যবহার করে আপনি বিশেষ রিপোর্টগুলো যুক্ত করতে পারেন।
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.9.1</version>
<configuration>
<reportPlugins>
<!-- Custom report for dependencies -->
<reportPlugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
</reportPlugin>
</reportPlugins>
</configuration>
</plugin>
</plugins>
</reporting>
এখানে, maven-dependency-plugin কে কাস্টম রিপোর্ট হিসেবে যুক্ত করা হয়েছে, যা আপনার প্রোজেক্টের ডিপেনডেন্সি সম্পর্কিত রিপোর্ট তৈরি করবে।
৭. Maven Site Plugin এর সাথে Additional Configuration
মাভেন সাইট প্লাগইন বিভিন্ন ধরনের কাস্টমাইজেশন সাপোর্ট করে। যেমন:
Report Output Directory: আপনি রিপোর্টের আউটপুট ডিরেক্টরি নির্ধারণ করতে পারেন।
<outputDirectory>${project.build.directory}/custom-site</outputDirectory>- Plugin Customization: প্লাগইনের কনফিগারেশন সেটিংস কাস্টমাইজ করা।
- Custom Report Templates: আপনি site রিপোর্টের জন্য কাস্টম টেমপ্লেটও ব্যবহার করতে পারেন।
সারাংশ
Maven Site Plugin ব্যবহার করে আপনি আপনার প্রোজেক্টের জন্য কাস্টম রিপোর্ট এবং ডকুমেন্টেশন তৈরি করতে পারেন। এটি আপনাকে বিভিন্ন রিপোর্ট তৈরি করতে সাহায্য করে যেমন Javadoc, code coverage, dependency graph এবং test reports। আপনি site:generate এবং site:deploy goals ব্যবহার করে এই রিপোর্ট এবং ডকুমেন্টেশন তৈরি এবং ডিপ্লয় করতে পারেন। Maven Site Plugin এর মাধ্যমে আপনি আপনার প্রোজেক্টের মান এবং কোডের গুণগত তথ্য বিস্তারিতভাবে উপস্থাপন করতে পারবেন।
Read more